package com.itany.corejava.code14_lambda;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年12月14日 15:01
 */
public class Test03_供给型接口 {
    public static void main(String[] args) {
        // List<String> lists = testSupplier(new Supplier<List<String>>() {
        //     @Override
        //     public List<String> get() {
        //         List<String> list = new ArrayList<>();
        //         list.add("aa");
        //         list.add("bb");
        //         return list;
        //     }
        // });
        // System.out.println(lists);

        // List<String> lists=testSupplier(()->{
        //     List<String> list = new ArrayList<>();
        //             list.add("aa");
        //             list.add("bb");
        //             return list;
        // });

        List<String> lists=testSupplier(()->Arrays.asList("aa","bb"));


        System.out.println(lists);


    }

    /**
     * 供给型接口Supplier<T>,方法:T get()
     * 接口有返回值，其接口泛型类型与方法的返回值一致
     * @param supplier
     * @return
     */
    public static List<String> testSupplier(Supplier<List<String>> supplier) {
        return supplier.get();
    }
}
